home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power Tools 1993 October - Disc 2
/
Power Tools (Disc 2)(October 1993)(HP).iso
/
hotlines
/
ccsyhl
/
sisl4
/
script.txt
< prev
next >
Wrap
Text File
|
1993-05-21
|
29KB
|
587 lines
SCRIPT FOR HP SOCKETS PRESENTATION ( May 1992 )
This script contains fairly detailed information on HP Sockets. It is
up to the presenter to extract the right level of information to
present to his/her customers. With this also comes a companion package:
"Questions & Answers on HP Sockets" which helps you in answering
questions related to the HP Sockets for non-HP platforms, positioning
with DCE, BSD Sockets,...etc...
The sequence of information presented in this script is as following:
- Product definition
- Why use HP Sockets
- Example of where HP Sockets can be used
- Problems in providing information flow between applications/
processes
- HP Sockets functionalities
- Platforms supported
- Success stories
- Benefits in using HP Sockets
At the end, this document also gives information on 3 back-up slides:
- Value added on top of file transfer
- Components of HP Sockets
- Application integration (technical areas involved in application
development and integration)
Slide 1: (L4S1S01)
HP Sockets eases the communication between applications no matter where
they reside. Communicating applications can be residing on the same
machine, on different machines of the same type or on different
machines of different types. The integrated system which is composed of
a set of communicating applications can be designed to be modular and
extensible. You can start creating an integrated system composed of a
small set of applications running on a few nodes. Later, you can expand
that integrated system to include more applications and more nodes with
no or minimal impact on the current integrated system.
Slide 2: Why use HP Sockets? (L4S1S02)
Major corporations and various HP divisions have been relying on HP
Sockets to pass information to run their business. They reported that
the use of HP Sockets:
- Improves information flow and therefore improves their operational
efficiency. Before the use of HP Sockets, they used files to share
information between applications. Information is usually about a day
old. Now that the market has become more and more competitive, it is
critical that business decision makers and decision systems get up-to-
date information. HP Sockets helps them in getting the right
information at at the right time. That in turn helps in improving their
operational efficiency.
- Improves the development and maintenance of integrated systems by 30
to 75%. HP Sockets provides a consistent API on all HP Sockets
supported platforms for processes to communicate with each other no
matter where they reside. The developers do not have to learn the
different technologies provided by different operating systems and
network services to provide interprocess communication for applications
running in an heterogenous environment. The developers can then write
less code in developing integrated systems. By reducing the learning
time on different technologies and writing less code in the development
of integrated systems, the maintenance cost of the integrated systems
is also greatly reduced.
- The use of HP Sockets allows the development of integrated systems
that are flexible to change with the changing environment. The use of
HP Sockets minimizes inter-dependencies between commumicating
processes. It allows the integrated systems to be flexible to change.
Also the programmatic interface to HP Sockets is a set of library
routines which can be called from any applications written in C,
Pascal, FORTRAN or COBOL. HP Sockets allows communication between new
and existing applications. It is a tool that bridges new and old
technologies. You can also start to develop a small integrated system
with two or three applications running on the same node or on two
nodes. Later, you can easily expand the integrated system with
additional processes or nodes.
To understand why major corporations reported the above points; we will
present an example of where HP Sockets can be used. Also through this
example, we will point out the problems to be solved in order to
provide communication between different processes running in an
heterogenous environment of computers.
Slide 3: (L4S1S03)
The following is an example of where HP Sockets can be used to provide
up-to- date information to different systems and users in a customer
services environment, for example a car rental company. When a client
comes to a reservation desk, the reservation sales person will be
running an instance of the reservation application. Data entered to the
reservation application includes: type of car, number of days the car
will be rented, type of payment (cash, visa, ...), where the car will
be returned ... The reservation application communicates this
information to the rate application to get the rate to charge for a
specific customer. Different regions may have different rates for
different type of cars and different time periods (week-end, rate/day,
special promotion for weekly rental...). So there is communication
between applications running on the same machine. The reservation
application may communicate with another reservation application
running on another machine if the car rented will be returned at
another location. The reservation application also communicates with
the central billing application if the car is rented using Visa or
Master Card. So there is also communication between applications over
the network. In addition, there are many instances (copies) of the same
application (reservation application) communicating with other
applications. In other words, each application must know which
instance of an application it should be communicating (replying) to.
In order for information to flow in this environment, the following
problems must be solved.
Slide 4: Data Transport problems (L4S1S04)
Data transport means moving data from one process to another process.
The major problems in data transport come from the differences in:
- the different operating systems: different operating systems provide
different means for inter-process communication. For example, HP-UX
provides message queues, shared memories, pipes, ... for inter-process
communication within a node while MPE/iX provides mapped files, message
files,... for inter- process communication within a node. Therefore a
developer needs to be familiar with the capabilities and the inter-
process communication interfaces provided by the different operating
systems.
- the different network services: different network services are used
to communicate with processes running on different platforms. Even when
the same network services are used for communication over the network;
the interface t the network services is different on the different
platforms. For example, BSD Sockets is a standard for inter-process
communication over TCP/IP protocol. Different hardware/software vendors
provides different interfaces to BSD Sockets.
- the location of the applications communicating with each other. If
they are on the same machine; inter-process communication provided by
the operating system is to be used. If the communicating processes are
on different machines; inter-process communication provided by the
network services is to be used.
Therefore there is a lack of consistency in communication methods which
should be hidden from the developer of an integrated system. This lack
of consistency communication methods creates a long learning curve for
the developers of integrated systems as they have to learn the
different technologies provided by the different operating systems and
the different network services. Also, the developers have to take care
of abnormal conditions such as the receiving process is not running,
the network is down or the receiving node is down.
Slide 5: Data Compatibility problems (L4S1S05)
The data compatibility problems are mainly created by applications
being very specific:
- Even if two applications use common data, for example a part number,
one may represent that element as an integer and the other may
represent it as a string.
- Applications are written in different programming languages.
Different compilers have different alignment rules and different data
representations. The following are 3 examples that show differences
between the same type of compilers running on s800 and s300:
- the C compiler on s300 has a 4-byte alignment for the "double" data
type unless the "double" data type field is part of a structure
(record) in which case it will have a 2-byte alignment. The C compiler
on s800 has a 8-byte alignment for the "double" data type.
- The FORTRAN compiler on s300 has a 4-byte alignment for the "double"
data type while the FORTRAN compiler on s800 has an 8-byte alignment.
- The Pascal compiler on s300 has a 4-byte alignment for the "double"
data type while the Pascal compiler on s800 has an 8-byte alignment.
Therefore, to enable meaningful communication between applications
written in different languages, the differences in alignment and in
data representation of the different compilers running on the different
machines must be resolved. For example, a C application on a s300
sending a record containing a field of type double would have to align
it on an 8-byte boundary before sending it to a C application on a s800
for the latter application to be able to use the data received.
- Applications may be running on different machines which have
different data representation as some machines may be 16-bit machines
and some may be 32-bit machines.
So for an application A to send meaningful information to an
application B; application A has to do data translation, data
conversion and/or data manipulation to put the data in a format that
application B can understand. Or application B has to know what data
was sent by application A and then do the data translation,
conversion/manipulation to put the data in its format. All of these
data compatibility problems create inter-dependence between
communicating processes.
The following slides present HP Sockets functionalities that solve the
above mentioned problems.
Slide 6: HP Software Integration Sockets (L4S1S06)
This slide gives an overview of the functionalities provided by HP
Sockets.
- HP Sockets provides data transport, moving data from one process to
another process no matter where processes reside. The sending
applications do not have to know where the receiving applications
resides. Location transparency is provided to all processes
communicating with each other using HP Sockets. Data can be
communicated through files or messages.
- HP Sockets minimizes inter-dependence between communicating
processes by providing data translation, conversion and manipulation to
put data in the format expected by the receiving applications.
Applications can communicate with each other using their original
formats. HP Sockets will put the data in the format expected by the
receiving applications transparently to the sending applications.
- HP Sockets also allows applications to programmatically start or
stop local or remote processes. This functionality is useful in an
integrated system environment where a certain application or process
needs to be run only when data become available.
- All of these functionalities are provided through a common set of 12
access routines on all the platforms supported by HP Sockets.
- HP Sockets also provides a system administration tool to ease the
management of the integrated environment. This tool is used to
coordinate the start up and shutdown of HP Sockets on various machines
throughout the entreprise.
- HP Sockets also provides a tool for the developers to simulate an
application running in the integrated environment. This tool is
helpful for testing and debugging the integrated environment.
Slide 7: HP Sockets Features (L4S1S07)
In a little more detail, the transport functionality of HP Sockets
includes:
- Connection/Session Management. HP Sockets does all connection
management. An application communicating with multiple processes does
not have to establish communication with each of the processes it wants
to communicate with. It just connects to HP Sockets with one HP Sockets
call and HP Sockets takes care of establishing communication with its
"receiving" processes no matter where they reside (local or remote
systems).
- HP Sockets supports both messages and files transfer.
- All calls to HP Sockets routines can be synchronous or asynchronous.
The asynchronous functionality of HP Sockets allows applications to
gain better performance. Applications can send multiple messages
asynchronously and not have to wait for the completion of one send
message before starting another send message.
- HP Sockets provides a mail box for each instance of an application
running in the integrated environment. With the mail box concept, the
sending application can send messages when it pleases and the receiving
application can service requests (messages received) when it pleases.
Also, the sending applications can send messages to a receiving
application which is not running. Once a receiving application is
running, it can pick up the messages from its mail box.
- When the network is down or when the receiving node is down, HP
Sockets spools all critical messages (on the sending node) to be sent
over the network or to the "down" receiving node. HP Sockets will
then try to reconnect as soon as the network comes back up and will
then send the spooled messages to the mail boxes of the receiving
applications transparently to the sending applications.
- Messages can be read destructively or non-destructively. This
functionality is useful for applications which need to log the message
to make sure that the request is processed before deleting it from the
mail box.
- There are many options in reading a message from the mail box.
Messages can be read sequentially (First In First Out), by priority
(when a process sends a message, it can tag it with a specific integer
value. That tag value can be used by the receiving application to
prioritize requests it receives.), or by process logical name (each
process in the HP Sockets domain initiates communication with HP
Sockets through a logical name which is unique in the whole HP Sockets
domain. That logical process name is defined in the HP Sockets
configuration files.).
- HP Sockets can also guarantee the delivery of messages.
- Processes communicating through HP Sockets can request that they are
notified when a message or a file arrives. This functionality is
useful, for example in the case of applications which only receive
requests to take care of special events. The frequency of occurence of
special events is usually low. With message or file arrival
notification, these applications would not have to poll for incoming
requests.
Slide 8: HP Sockets Features (L4S1S08)
HP Sockets provides high performance data translation, manipulation and
record reformatting to put data in the format expected by the receiving
applications. This functionality of HP Sockets helps in minimizing
inter-dependence between applications in an integrated environment. HP
Sockets handles all languages specifics. It reconciles differences in
alignments, array formats,...etc... It also restructures records (in
other words puts fields of a record in a different sequence than its
original sequence, deletes fields from a record or adds more fields to
a record) and handles overflow/ underflow conditions (like moving a
large integer to a small integer). It handles truncation and padding.
A sending application can send a record of 10 fields. The receiving
application may only want 2 out of those ten fields. HP Sockets will
send the wanted 2 fields in the format expected by the receiving
application and delete the other eight fields.
Another example is that a sending application can send a record of 2
fields. The receiving application may want a 5 field record. HP Sockets
allows you to initialize or assign constant values to the 3 additional
fields;and it will send a record of 5 fields in the format expected by
the receiving application.
Slide 9: Data manipulation example (L4S1S09)
The MRP and the Work-Cell records basically contain the same
information. However, the field sequence is different and the data type
of the "qty" field is different in the two records. HP Sockets will
take care of putting data sent by the MRP system in the format expected
by the Work-Cell system.
Background information:
For HP Sockets to know how to put data in the format expected by the
receiving applications, you need to define the data structure of the
messages of the sending applications and the data structure of the
messages expected by the receiving applications in the HP Sockets
configuration files. You also need to let HP Sockets knows how to
manipulate the data. In this example, you define both the data
structure of the MRP and the Work-Cell records. For data manipulation
statement (DML statement), it is simple: Move MRP to WORK-CELL. The
data manipulation language is very similar to COBOL statements.
Slide 10: HP Sockets Features (L4S1S10)
This slide is to emphasize that communication using HP Sockets is very
simple.
Slide 11: HP Sockets Features (L4S1S11)
The following are some of the features provided by the HP Sockets
administration and testing/simulation tools.
* Central administration, switchable administration, and whole or
partial system start up and shutdown.
In the integrated environment using HP Sockets there is a central
administration node. On that node, you can issue just one command to
start or stop the whole HP Sockets domain (a set of nodes which run HP
Sockets), a selected number of nodes in the HP Sockets domain, or a
single node in the HP Sockets domain. Even though there is central
administration; there will not be a central point of failure.
When the administration node is down, the rest of the nodes in the HP
Sockets domain still operate as normal. You can also have another node
in the HP Sockets domain becomes the administration node.
* System status reporting
From any node in the HP Sockets domain, you can get the status of HP
Sockets running on that node or other nodes in the HP Sockets domain.
* Graceful shutdown
When you bring down HP Sockets gracefully using the HP Sockets shutdown
command; you have the option of requesting HP Sockets to save all
undelivered messages and then later request HP Sockets to restore them
when you bring HP Sockets back up.
* Interface simulation
HP Sockets also provides a tool, the command processor, which allows
you to interactively call the HP Sockets routines. You interact with
each routine in the format of command language which prompts you for
the input values to the parameters of the HP Sockets routines. You can
use this tool to simulate an application running in the integrated
environment, for example, by sending and receiving messages. It is also
a very useful tool to test or debug the integrated environment.
* Reconfiguration
Using HP Sockets to develop integrated systems, you can move
applications to other nodes or duplicate integrated systems from one
site to another site without any recoding. The following slide
(L4S1S11) is an example that demonstrates theses capabilities of HP
Sockets.
Slide 12: (L4S1S12)
This example illustrates changes in the configuration of the integrated
system in the customer services environment shown earlier. The central
billing application is ported from the IBM machine to the HP3000. The
company standardizes the customer services applications and the
platforms these applications run on. The company chose HP9000 s800 as
the platforms for their customer services applications.
The integrated system still works in this new configuration without any
recoding. All the user needs to do is to change the HP Sockets
configuration files to tell HP Sockets where the processes are.
Slide 13: HP Software Integration Sockets (L4S1S13)
HP Sockets runs native on HP9000 series 300, 400, 600, 700, 800 and
HP3000 MPE/iX. We also extend the functionalities of HP Sockets to
other vendors platforms through the HP Sockets for non-HP platforms
which are implemented using the client/server model. The standard set
of HP Sockets access routines is provided on all supported platforms.
Currently we support HP9000, HP 3000, IBM running MVS/TSO, DOS, SUN,
AS400, & VAX/VMS. The network protocol we use for process
communication across the network is TCP/IP. We will be delivering HP
Sockets connection to VAX/VMS and AS400 soon.
When OSI becomes more widely supported; we will support it.
Slide 14..17: Success stories (L4SIS14), (L4SIS15), (L4SIS16),
(L4SIS17)
Points out the "system/environment" where HP Sockets is used, the time
they took for pilot implementation, the time they took to have system
in production, and the number of nodes and/or applications
communicating with each other.
For success stories (L4S1S15), the integrated environment first started
with a few nodes. Now it is expanded to 20 nodes with 275 communicating
processes. They said they are going to expand the integrated system to
involve 30 nodes with 600 to 800 communicating processes in a couple of
years. A few customers have been asking for HP Sockets to provide the
message broadcasting functionality which allows a process to send a
message to multiple processes in the HP Sockets domain with just one
send message call. This customer implemente the message broadcasting
functionality themselves utilizing the current functionalities of HP
Sockets.
For success stories on Northern Telecom, we received a letter from the
Northern Telecom Market Support manager. He states that:
- "... the SMS project has been awarded the President's Award of
Excellence in the Innovation category. I wish to share with you given
that your contribution played a substantial role in enabling us to
achieve our goal..."
The President's Award of Excellence if one of the highest forms of
recognition in Northern Telecom company.
Slide 18: HP Sockets Benefits (L4S1S18) Information from slide 2
(L4S1S02)
The following are backup slides:
================================
Slide 19: HP Sockets components (L4S1S19)
All of the components of HP Sockets are in blue on this slide.
- HP Sockets provides a standard set of API or Access routines on all
the platforms it supports. All applications have a standard method to
communicate with each other no matter where they reside. All
applications can send and receive data in their "original" format. HP
Sockets will put data in the format expected by the receiving
applications.
The standard set of HP Sockets access routines can be called directly
from the application (or embedded in the application, for example
application B on this slide) or from a process separate from the
application (case of application A). It is up to the developers to
decide where to call the HP Sockets routines. In general, if the
application allows calls to user written routines, the application can
call HP Sockets routines directly to communicate with other
applications. If the application does not allow calls to user written
routines, the developers of integrated systems would have to write a
separate process which accesses the application data and then uses HP
Sockets access routines to communicate that data to other processes.
That separate process was named the "application adaptor" on this
slide.
- The second component of HP Sockets is the command processor. It is a
tool which allows the users to interactively call the HP Sockets access
routines. It can be used to simulate an application running in the
integrated environment for testing and debugging purposes.
- The third component is the HP Sockets configuration files. These
files allow users to specify the configuration of the integrated system
which includes information on the machines, the network node addresses,
location of the communicating processes, the data structures of
messages in communication, how data are to be manipulated,...etc...
- The fourth component is the HP Sockets manager. This tool helps the
users in administering the integrated environment. The users use it to
validate the configuration files, to start/stop the whole or selected
nodes of the integrated system,...
- The fifth component is the run time modules of HP Sockets. On each
node in the integrated system, there is a set of run time modules of HP
Sockets running to do the data transport and data conversion, data
translation and data manipulation. (It is shown on this slide as
composed of the 3 boxes labelled: data translator, data manipulator and
data transporter)
Slide 20: Value added on top of file transfer schemes. (L4S1S20)
Even if the developers decide that file transfer is the best way to
share data among a few communicating applications, the use of HP
Sockets provides the following additional values:
- Data gets processed immediately when it becomes available. HP
Sockets provides process control and file arrival notification. With
these two functions, a sending application can programmatically start
up the receiving applications to process data once it has sent the
files. When data processing is complete, the receiving applications
send a message to the sending application to let it know that the task
is complete. The sending application can then make a programmatic call
to HP Sockets to stop the receiving applications to minimize CPU usage.
If the receiving applications need to be run all the time to process
several operations, they can request HP Sockets to notify file arrival
so that they don't have to poll to detect that there are files to be
processed.
- The sequence of tasks can be coordinated better improving the
timeliness and correctness of data to be processed. Sending
applications collect data and upon completion, they can
programmatically send data collected to the appropriate receiving
processes. No manual steps are involved. That reduces errors and
confusion about which files contain the most up-to-date information.
In most cases, message transfer has the following advantages over file
transfer:
- Using the message transfer capability of HP Sockets, the receiving
application can get data in the right format transparently to the
sending and the receiving applications.
- Applications in the integrated system can gain access to up-to-date
information. Information stored in a file are usually not up-to-date.
- You can use message transfer to build an interface to files. Instead
of storing data in files and then transfering them at certain time
intervals, you can send messages to the receiving applications and have
these applications store data in files. Doing it that way:
- Data is put in the format expected by the receiving applications, -
data availability is improved. When there is problem with the sending
machines or the network, data is already available for the receiving
applications to process.
Slide 21: Application integration (L4S1S21)
In the development of applications, the developers have to make
decisions on what languages or end-user tools to use, what kind of user
interface technology to use, what data management packages to use, what
communication services and what platforms to develop on. The selection
of what to use in these five areas depends on the functionality of the
application to be developed and the experience of the developers. Each
application uses a combination of technologies in these 5 different
areas. Therefore when you talk about application integration, it often
refers to :
- integration which provides a common user interface to all
applications involved in the integrated system.
- integration which allows direct access to data no matter where it
resides (in ALLBASE or DB2 databases).
- integration of communication services which provides a standard
means for applications to communicate with each other no matter where
they are. The difference in data representation caused by the
different compilers and hardware should be transparent to the
communicating applications.
HP Sockets solves the communication problems taking into consideration
the fact that applications are written in different languages and run
on different operating systems.